package top.ucat.x.system.service.management;

import top.ucat.box.starter.mybatis.plus.base.service.BaseCrudService;
import top.ucat.x.system.entity.SysMenu;
import top.ucat.x.system.entity.beans.menu.MenuTreeVo;

import java.util.List;

/**
 * @Auther: Jun
 * @Date: 2020/4/20 15:40
 * @Description:
 */
public interface SysMenuService extends BaseCrudService<SysMenu> {

    List<SysMenu> getAllMenu();

    List<MenuTreeVo> getAllMenuTrees();

    /**
     * 获取一级菜单
     *
     * @param userId
     * @return
     */
    List<MenuTreeVo> getTopMenuTrees(String userId);


    List<MenuTreeVo> getUserMenuTree(String userId);

    /**
     * 获取用户的菜单
     *
     * @param userId
     * @param menuParentId
     * @return
     */
    List<MenuTreeVo> getUserMenuTrees(String userId, String menuParentId);


    /**
     * 获取用户权限中的菜单
     *
     * @param userId
     * @return
     */
    List<SysMenu> getUserPermissionMenus(String userId);

    /**
     * 获取用户权限内的菜单Id
     *
     * @param userId
     * @return
     */
    List<String> getUserPermissionMenuIds(String userId);

}
